// import Vue from 'vue'
import axios from 'axios'
import qs from 'qs'
import iView from 'iview'

// axios 配置
axios.defaults.timeout = 50000
// axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
// axios.defaults.baseURL = ''
axios.defaults.baseURL = 'http://localhost/api'

// http request 拦截器
// 注：config.params是添加到url的请求字符串中的，用于get请求
// 而config.data是添加到请求体（body）中的， 用于post请求
axios.interceptors.request.use(
  config => {
    // let token = sessionStorage.getItem('token')
    if (config.method === 'post') {
      console.log(config)
      if (!config.data) {
        config.data = {}
      }
      // if (token) {
      //   config.data['token'] = token
      // }
      config.data = qs.stringify(config.data)
    } else if (config.method === 'get') {
      // if (token) {
      //   config.params['token'] = token
      // }
    }
    return config // 注：一定要记得return，否则会报axios Cannot read property 'cancelToken' of undefined
  },
  error => {
    return Promise.reject(error)
  }
)

// http response 拦截器
axios.interceptors.response.use(
  response => {
    // console.log(response.data)
    switch (response.data.code) {
      case 200:
        break
      case 501:
        // if (response.data.msg !== undefined) {
        //   if (response.data.msg) {
        // iView.Message.error(response.data.msg)
        // iView.Message.error(response.data.code)
        //   }
        //   return false
        // }
        break
    }
  },
  error => {
    console.log(error)
  }
)

export default axios
